Namespace EventLog

    Public Class Log

        Protected Sub New()

        End Sub

        Public Sub New(ByVal id As Integer, ByVal eventDate As DateTime, ByVal message As String, ByVal level As EventLevel, ByVal source As String)

            Me.Id = id
            Me.EventDate = eventDate
            Me.Message = message
            Me.Level = level
            Me.Source = source

        End Sub

        Public Sub New(ByVal eventDate As DateTime, ByVal message As String, ByVal level As EventLevel, ByVal source As String)

            Me.EventDate = eventDate
            Me.Message = message
            Me.Level = level
            Me.Source = source

        End Sub

        Private _id As Integer
        Public Property Id() As Integer
            Get
                Return _id
            End Get
            Set(ByVal value As Integer)
                _id = value
            End Set
        End Property

        Private _eventDate As DateTime
        Public Property EventDate() As DateTime
            Get
                Return _eventDate
            End Get
            Set(ByVal value As DateTime)
                _eventDate = value
            End Set
        End Property

        Private _message As String
        Public Property Message() As String
            Get
                Return _message
            End Get
            Set(ByVal value As String)
                _message = value
            End Set
        End Property

        Private _level As EventLevel
        Public Property Level() As EventLevel
            Get
                Return _level
            End Get
            Set(ByVal value As EventLevel)
                _level = value
            End Set
        End Property

        Private _source As String
        Public Property Source() As String
            Get
                Return _source
            End Get
            Set(ByVal value As String)
                _source = value
            End Set
        End Property

        Private _thread As String
        Public Property Thread() As String
            Get
                Return _thread
            End Get
            Set(ByVal value As String)
                _thread = value
            End Set
        End Property

    End Class

End Namespace
